package com.lantosec.hmrp.modules.monitor.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lantosec.hmrp.modules.monitor.entity.EvaluationEntity;
import com.lantosec.hmrp.modules.monitor.entity.EvaluationEventEntity;
import com.lantosec.hmrp.modules.monitor.entity.EvaluationItemEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MonitorEvaluationMapper extends BaseMapper<EvaluationEntity> {

    List<EvaluationEntity> getDeptRank(@Param("month") String month, @Param("year")String year,
                                       @Param("startTime")String startTime, @Param("endTime")String endTime);

    List<EvaluationEntity> getPersonalRank(@Param("month") String month, @Param("year")String year,
                                           @Param("startTime")String startTime, @Param("endTime")String endTime);

    Integer getUserTotal(String userId);

    Integer getDeptTotal(String userId);

    List<EvaluationEntity> getEvaluationList(String userId);

    Integer getDeptNotExamineTotal(String userId);

    Integer getPartyBranchExamineTotal(String userId);

    Integer getAppraisalExamineTotal(String userId);

    List<EvaluationEntity> getMoralityBackLog(String userId);

    List<EvaluationEntity> getInternalList(String userId);

    List<EvaluationItemEntity> getItemDetails(@Param("month") String month, @Param("year") String year,
              @Param("deptId") String deptId,@Param("startTime") String startTime,@Param("endTime") String endTime);

    List<EvaluationEventEntity> getEventDetails(@Param("month") String month, @Param("year") String year,
                @Param("evalItemId") String evalItemId,@Param("startTime") String startTime,@Param("endTime") String endTime,
                @Param("deptId")String deptId);

    List<EvaluationItemEntity> getPersonalItemDetails(@Param("month") String month, @Param("year")String year,
                @Param("startTime")String startTime, @Param("endTime")String endTime,@Param("userId") String userId);

    List<EvaluationEventEntity> getPersonalEventDetails(@Param("month") String month, @Param("year")String year,
        @Param("startTime")String startTime, @Param("endTime")String endTime,@Param("userId") String userId,
        @Param("evalItemId")  String evalItemId);
}
